﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Air_condition.DO
{
    [Serializable]
    class InternalLoad
    {
        private double dbcapacity;
        private int blgender;
        private double dbheatRadiation;
        private double dblatentHeat;
        private double dbsensibleHeat;
        private int inumberPeople;
        private double dbpowerToolsSensibleHeat;
        private double dbairMountForOnePeople;
        public List<Equip> lequip = new List<Equip>();
        //  
        public double AirMountForOnePeople
        {
            get { return dbairMountForOnePeople; }
            set { dbairMountForOnePeople = value; }
        }
        //  Năng lượng từ thiết bị điện 
        public double PowerTools
        {
            get { return dbpowerToolsSensibleHeat; }
            set { dbpowerToolsSensibleHeat = value; }
        }
        //   Số lượng người có trong phòng
        public int NumberPeople
        {
            get { return inumberPeople; }
            set { inumberPeople = value; }
        }
        //  Nhiệt hiện 
        public double SensibleHeat
        {
            get { return dbsensibleHeat; }
            set { dbsensibleHeat = value; }
        }
        //  Nhiệt ẩn 
        public double LatentHeat
        {
            get { return dblatentHeat; }
            set { dblatentHeat = value; }
        }
        //  
        public double HeatRadiation
        {
            get { return dbheatRadiation; }
            set { dbheatRadiation = value; }
        } 
        //  Loại giới tính để xác định lượng nhiệt tỏa ra
        public int Gender
        {
            get { return blgender; }
            set { blgender = value; }
        }
        //  công suất 
        public double Capacity
        {
            get { return dbcapacity; }
            set { dbcapacity = value; }
        }


        //  Nhiệt hiện do đèn chiếu sáng Q32
        public double CalculateLightSensibleHeat(double dbarea)
        {
            //  diện tích trần user nhập từ giao diện
          
            return dbarea * 12;
        }
        //  Nhiệt hiện do người tỏa ra Q31
        public double CalculatePeopleSensibletHeat() 
        {
            //  Số người user nhập từ giao diện
            //  dbsensibleHeat lấy từ library
            return inumberPeople * dbsensibleHeat;
        }
        //  Nhiệt ẩn do người tỏa ra Qaf 
        public double CalculatePeopleLatentHeat()
        {
            //  Số người user nhập từ giao diện
            //  dbsensibleHeat lấy từ library
            return inumberPeople * dblatentHeat;
        }
        //  Nhiệt hiện tỏa ra từ dụng cụ điện Q33
        public double CalculatePowerToolsSensibleHeat()
        {
            foreach(Equip e in lequip ){
                dbpowerToolsSensibleHeat += e.dbEnergy;
            }
            return dbpowerToolsSensibleHeat;
        }
       
    }

}
